/*类名: KhInfoDao
 *包名：com.hafu.dao
 *作者：shengxueqing
 *描述:客户信息Dao
 *创建时间：2024/11/17
 * 修改时间：2024/11/17
 */
package com.hafu.dao;
import com.hafu.model.KhInfo;
import com.hafu.util.DbUtil;
import com.hafu.util.StringUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
public class KhInfoDao {
    //添加客户信息
    public Boolean addKhInfo(KhInfo kh)
    {
        String sql="insert into khinfo values(null,?,?)";
        Connection conn = DbUtil.getConn();
        try{
            PreparedStatement preparedStatement = conn.prepareStatement(sql);
            preparedStatement.setString(1,kh.getName());
            preparedStatement.setString(2, kh.getTel());
            //执行添加sql语句
            int i = preparedStatement.executeUpdate();
            if(i>0) {
                System.out.println("添加成功");
                return true;
            }else return  false;
        }catch (SQLException throwables){
            throwables.printStackTrace();
        }
        return false;
    }
    //根据客户id删除客户信息
    public Boolean deleteKhInfo(int id){
        String sql="delete from khinfo where id=?";
        Connection conn = DbUtil.getConn();
        try{
            PreparedStatement preparedStatement = conn.prepareStatement(sql);
            preparedStatement.setInt(1,id);
            //执行删除sql语句
            int i = preparedStatement.executeUpdate();
            if(i>0) {
                System.out.println("删除成功");
                return true;
            }else return  false;
    }catch (SQLException throwables){
            throwables.printStackTrace();
        }
        return false;
    }
    //根据客户姓名查询客户信息
    public ArrayList<KhInfo>getKhInfoByName(KhInfo kh)
    {
        ArrayList<KhInfo> list=new ArrayList<>();
        Connection conn = DbUtil.getConn();
        String sql = "select * from khinfo";
        if(!StringUtil.isEmpty(kh.getName())) {
            sql=sql+" where name like '%"+kh.getName()+"%'";
        }
        try {
            PreparedStatement preparedStatement = conn.prepareStatement(sql);
            ResultSet resultSet = preparedStatement.executeQuery();
                while (resultSet.next()) {
                    int id = resultSet.getInt("id");
                    String name = resultSet.getString("name");
                    String tel = resultSet.getString("tel");
                    KhInfo khInfo = new KhInfo(id, name, tel);
                    list.add(khInfo);
                }
        }catch (SQLException throwables){
            throwables.printStackTrace();
        }
        return list;
    }
    //修改客户信息
    public Boolean updateKhInfo(KhInfo kh)
    {
        String sql="update khinfo set name=?,tel=? where id=?";
        Connection conn = DbUtil.getConn();
        try{
            PreparedStatement preparedStatement = conn.prepareStatement(sql);
            preparedStatement.setString(1,kh.getName());
            preparedStatement.setString(2, kh.getTel());
            preparedStatement.setInt(3,kh.getId());
            //执行修改sql语句
            int i = preparedStatement.executeUpdate();
            if(i>0) {
                System.out.println("修改成功");
                return true;
            }else return  false;
        }catch (SQLException throwables){
            throwables.printStackTrace();
        }
        return false;
    }
}
